<?php

namespace App\Admin\Forms\sms;

use Dcat\Admin\Admin;
use Dcat\Admin\Widgets\Form;

class SmsConfigForm extends Form
{
    public function handle(array $input)
    {
        
        $model = \App\Models\SmsModel::query()->first();
        // dd( $model);
        if (!$model)
            \App\Models\SmsModel::insert($input);
        else
            $model->where('id', $model->id)->update($input);

        return $this->response()->success(__('admin.update_succeeded'));
    }

    public function form()
    {
        $this->text('key', '应用key')->required()->help('短信平台的key，默认为阿里云平台');
        $this->text('secret', '应用secret')->required()->help('短信平台的secret，默认为阿里云平台');
        $this->text('sign', '签名')->required()->help('阿里云平台签名');
        $this->keyValue('template', '短信模板')->setKeyLabel('键名')->setValueLabel('键值')->saving(function ($v) {
            return json_encode($v);
        });
        $this->switch('status')
        ->customFormat(function ($v) {
            return $v == '1' ? 1 : 0;
        })
        ->saving(function ($v) {
            return $v ? '1' : '0';
        })->default(1);
        
    }

    public function default(): array
    {
        return \App\Models\SmsModel::config();
    }
}
